﻿(function() {
    var a = function(b, c) {
        var d = 1, e = 2, f = 4, g = 8, h = /^\s*(\d+)((px)|\%)?\s*$/i, i = /(^\s*(\d+)((px)|\%)?\s*$)|^$/i, j = /^\d+px$/, k = function() {
            var B = this.getValue(), C = this.getDialog(), D = B.match(h);
            if (D) {
                if (D[2] == "%") {
                    p(C, false)
                }
                B = D[1]
            }
            if (C.lockRatio) {
                var E = C.originalElement;
                if (E.getCustomData("isReady") == "true") {
                    if (this.id == "txtHeight") {
                        if (B && B != "0") {
                            B = Math.round(E.$.width * (B / E.$.height))
                        }
                        if (!isNaN(B)) {
                            C.setValueOf("info", "txtWidth", B)
                        }
                    } else {
                        if (B && B != "0") {
                            B = Math.round(E.$.height * (B / E.$.width))
                        }
                        if (!isNaN(B)) {
                            C.setValueOf("info", "txtHeight", B)
                        }
                    }
                }
            }
            l(C)
        }, l = function(B) {
            if (!B.originalElement || !B.preview) {
                return 1
            }
            B.commitContent(f, B.preview);
            return 0
        };
        function m() {
            var B = arguments, C = this.getContentElement("advanced", "txtdlgGenStyle");
            C && C.commit.apply(C, B);
            this.foreach(function(D) {
                if (D.commit && D.id != "txtdlgGenStyle") {
                    D.commit.apply(D, B)
                }
            })
        }
        var n;
        function o(B) {
            if (n) {
                return
            }
            n = 1;
            var C = this.getDialog(), D = C.imageElement;
            if (D) {
                this.commit(d, D);
                B = [].concat(B);
                var E = B.length, F;
                for (var G = 0; G < E; G++) {
                    F = C.getContentElement.apply(C, B[G].split(":"));
                    F && F.setup(d, D)
                }
            }
            n = 0
        }
        var p = function(B, C) {
            if (!B.getContentElement("info", "ratioLock")) {
                return null
            }
            var D = B.originalElement;
            if (!D) {
                return null
            }
            if (C == "check") {
                if (!B.userlockRatio && D.getCustomData("isReady") == "true") {
                    var E = B.getValueOf("info", "txtWidth"), F = B.getValueOf("info", "txtHeight"), G = D.$.width * 1000 / D.$.height, H = E * 1000 / F;
                    B.lockRatio = false;
                    if (!E && !F) {
                        B.lockRatio = true
                    } else {
                        if (!isNaN(G) && !isNaN(H)) {
                            if (Math.round(G) == Math.round(H)) {
                                B.lockRatio = true
                            }
                        }
                    }
                }
            } else {
                if (C != undefined) {
                    B.lockRatio = C
                } else {
                    B.userlockRatio = 1;
                    B.lockRatio = !B.lockRatio
                }
            }
            var I = CKEDITOR.document.getById(w);
            if (B.lockRatio) {
                I.removeClass("cke_btn_unlocked")
            } else {
                I.addClass("cke_btn_unlocked")
            }
            I.setAttribute("aria-checked", B.lockRatio);
            if (CKEDITOR.env.hc) {
                var J = I.getChild(0);
                J.setHtml(B.lockRatio ? CKEDITOR.env.ie ? "■" : "▣" : CKEDITOR.env.ie ? "□" : "▢")
            }
            return B.lockRatio
        }, q = function(B) {
            var C = B.originalElement;
            if (C.getCustomData("isReady") == "true") {
                var D = B.getContentElement("info", "txtWidth"), E = B.getContentElement("info", "txtHeight");
                D && D.setValue(C.$.width);
                E && E.setValue(C.$.height)
            }
            l(B)
        }, r = function(B, C) {
            if (B != d) {
                return
            }
            function D(I, J) {
                var K = I.match(h);
                if (K) {
                    if (K[2] == "%") {
                        K[1] += "%";
                        p(E, false)
                    }
                    return K[1]
                }
                return J
            }
            var E = this.getDialog(), F = "", G = this.id == "txtWidth" ? "width" : "height", H = C.getAttribute(G);
            if (H) {
                F = D(H, F)
            }
            F = D(C.getStyle(G), F);
            this.setValue(F)
        }, s, t = function() {
            var B = this.originalElement;
            B.setCustomData("isReady", "true");
            B.removeListener("load", t);
            B.removeListener("error", u);
            B.removeListener("abort", u);
            CKEDITOR.document.getById(y).setStyle("display", "none");
            if (!this.dontResetSize) {
                q(this)
            }
            if (this.firstLoad) {
                CKEDITOR.tools.setTimeout(function() {
                    p(this, "check")
                }, 0, this)
            }
            this.firstLoad = false;
            this.dontResetSize = false
        }, u = function() {
            var D = this;
            var B = D.originalElement;
            B.removeListener("load", t);
            B.removeListener("error", u);
            B.removeListener("abort", u);
            var C = CKEDITOR.getUrl(b.skinPath + "images/noimage.png");
            if (D.preview) {
                D.preview.setAttribute("src", C)
            }
            CKEDITOR.document.getById(y).setStyle("display", "none");
            p(D, false)
        }, v = function(B) {
            return CKEDITOR.tools.getNextId() + "_" + B
        }, w = v("btnLockSizes"), x = v("btnResetSize"), y = v("ImagePreviewLoader"), z = v("previewLink"), A = v("previewImage");
        return {title: b.lang.image[c == "image" ? "title" : "titleButton"],minWidth: 420,minHeight: 360,onShow: function() {
                var H = this;
                H.imageElement = false;
                H.linkElement = false;
                H.imageEditMode = false;
                H.linkEditMode = false;
                H.lockRatio = true;
                H.userlockRatio = 0;
                H.dontResetSize = false;
                H.firstLoad = true;
                H.addLink = false;
                var B = H.getParentEditor(), C = B.getSelection(), D = C && C.getSelectedElement(), E = D && D.getAscendant("a");
                CKEDITOR.document.getById(y).setStyle("display", "none");
                s = new CKEDITOR.dom.element("img", B.document);
                H.preview = CKEDITOR.document.getById(A);
                H.originalElement = B.document.createElement("img");
                H.originalElement.setAttribute("alt", "");
                H.originalElement.setCustomData("isReady", "false");
                if (E) {
                    H.linkElement = E;
                    H.linkEditMode = true;
                    var F = E.getChildren();
                    if (F.count() == 1) {
                        var G = F.getItem(0).getName();
                        if (G == "img" || G == "input") {
                            H.imageElement = F.getItem(0);
                            if (H.imageElement.getName() == "img") {
                                H.imageEditMode = "img"
                            } else {
                                if (H.imageElement.getName() == "input") {
                                    H.imageEditMode = "input"
                                }
                            }
                        }
                    }
                    if (c == "image") {
                        H.setupContent(e, E)
                    }
                }
                if (D && D.getName() == "img" && !D.data("cke-realelement") || D && D.getName() == "input" && D.getAttribute("type") == "image") {
                    H.imageEditMode = D.getName();
                    H.imageElement = D
                }
                if (H.imageEditMode) {
                    H.cleanImageElement = H.imageElement;
                    H.imageElement = H.cleanImageElement.clone(true, true);
                    H.setupContent(d, H.imageElement)
                } else {
                    H.imageElement = B.document.createElement("img")
                }
                p(H, true);
                if (!CKEDITOR.tools.trim(H.getValueOf("info", "txtUrl"))) {
                    H.preview.removeAttribute("src");
                    H.preview.setStyle("display", "none")
                }
            },onOk: function() {
                var C = this;
                if (C.imageEditMode) {
                    var B = C.imageEditMode;
                    if (c == "image" && B == "input" && confirm(b.lang.image.button2Img)) {
                        B = "img";
                        C.imageElement = b.document.createElement("img");
                        C.imageElement.setAttribute("alt", "");
                        b.insertElement(C.imageElement)
                    } else {
                        if (c != "image" && B == "img" && confirm(b.lang.image.img2Button)) {
                            B = "input";
                            C.imageElement = b.document.createElement("input");
                            C.imageElement.setAttributes({type: "image",alt: ""});
                            b.insertElement(C.imageElement)
                        } else {
                            C.imageElement = C.cleanImageElement;
                            delete C.cleanImageElement
                        }
                    }
                } else {
                    if (c == "image") {
                        C.imageElement = b.document.createElement("img")
                    } else {
                        C.imageElement = b.document.createElement("input");
                        C.imageElement.setAttribute("type", "image")
                    }
                    C.imageElement.setAttribute("alt", "")
                }
                if (!C.linkEditMode) {
                    C.linkElement = b.document.createElement("a")
                }
                C.commitContent(d, C.imageElement);
                C.commitContent(e, C.linkElement);
                if (!C.imageElement.getAttribute("style")) {
                    C.imageElement.removeAttribute("style")
                }
                if (!C.imageEditMode) {
                    if (C.addLink) {
                        if (!C.linkEditMode) {
                            b.insertElement(C.linkElement);
                            C.linkElement.append(C.imageElement, false)
                        } else {
                            b.insertElement(C.imageElement)
                        }
                    } else {
                        b.insertElement(C.imageElement)
                    }
                } else {
                    if (!C.linkEditMode && C.addLink) {
                        b.insertElement(C.linkElement);
                        C.imageElement.appendTo(C.linkElement)
                    } else {
                        if (C.linkEditMode && !C.addLink) {
                            b.getSelection().selectElement(C.linkElement);
                            b.insertElement(C.imageElement)
                        }
                    }
                }
            },onLoad: function() {
                var C = this;
                if (c != "image") {
                    C.hidePage("Link")
                }
                var B = C._.element.getDocument();
                if (C.getContentElement("info", "ratioLock")) {
                    C.addFocusable(B.getById(x), 5);
                    C.addFocusable(B.getById(w), 5)
                }
                C.commitContent = m
            },onHide: function() {
                var B = this;
                if (B.preview) {
                    B.commitContent(g, B.preview)
                }
                if (B.originalElement) {
                    B.originalElement.removeListener("load", t);
                    B.originalElement.removeListener("error", u);
                    B.originalElement.removeListener("abort", u);
                    B.originalElement.remove();
                    B.originalElement = false
                }
                delete B.imageElement
            },contents: [
                {id: "Upload",hidden: b.config.hide_Upload,filebrowser: "uploadButton",label: b.lang.image.upload,elements: [{type: "file",id: "upload",label: b.lang.image.btnUpload,style: "height:40px",size: 38}, {type: "fileButton",id: "uploadButton",filebrowser: "info:txtUrl",label: b.lang.image.btnUpload,"for": ["Upload", "upload"]}]}, 
                {id: "info",hidden: b.config.hide_info,label: b.lang.image.infoTab,accessKey: "I",elements: [{type: "vbox",padding: 0,children: [{type: "hbox",widths: ["280px", "110px"],align: "right",children: [{id: "txtUrl",type: "text",label: b.lang.common.url,required: true,onChange: function() {
                                                var B = this.getDialog(), C = this.getValue();
                                                if (C.length > 0) {
                                                    B = this.getDialog();
                                                    var D = B.originalElement;
                                                    B.preview.removeStyle("display");
                                                    D.setCustomData("isReady", "false");
                                                    var E = CKEDITOR.document.getById(y);
                                                    if (E) {
                                                        E.setStyle("display", "")
                                                    }
                                                    D.on("load", t, B);
                                                    D.on("error", u, B);
                                                    D.on("abort", u, B);
                                                    D.setAttribute("src", C);
                                                    s.setAttribute("src", C);
                                                    B.preview.setAttribute("src", s.$.src);
                                                    //修正图片路径
                                                    D.$.src.match("backEnd/")&&(D.$.src=D.$.src.replace("backEnd/",""));
                                                    s.$.src.match("backEnd/")&&(s.$.src=s.$.src.replace("backEnd/",""));
                                                    B.preview.$.src.match("backEnd/")&&(B.preview.$.src=B.preview.$.src.replace("backEnd/",""));
                                                    D.$.src.match("admin/")&&(D.$.src=D.$.src.replace("admin/",""));
                                                    s.$.src.match("admin/")&&(s.$.src=s.$.src.replace("admin/",""));
                                                    B.preview.$.src.match("admin/")&&(B.preview.$.src=B.preview.$.src.replace("admin/",""));
                                                    l(B)
                                                } else {
                                                    if (B.preview) {
                                                        B.preview.removeAttribute("src");
                                                        B.preview.setStyle("display", "none")
                                                    }
                                                }
                                            },setup: function(B, C) {
                                                if (B == d) {
                                                    var D = C.data("cke-saved-src") || C.getAttribute("src"), E = this;
                                                    this.getDialog().dontResetSize = true;
                                                    E.setValue(D);
                                                    E.setInitValue()
                                                }
                                            },commit: function(B, C) {
                                                var D = this;
                                                if (B == d && (D.getValue() || D.isChanged())) {
                                                    C.data("cke-saved-src", D.getValue());
                                                    C.setAttribute("src", D.getValue())
                                                } else {
                                                    if (B == g) {
                                                        C.setAttribute("src", "");
                                                        C.removeAttribute("src")
                                                    }
                                                }
                                            },validate: CKEDITOR.dialog.validate.notEmpty(b.lang.image.urlMissing)}, {type: "button",id: "browse",style: "display:inline-block;margin-top:10px;",align: "center",label: b.lang.common.browseServer,hidden: true,filebrowser: "info:txtUrl"}]}]}, {id: "txtAlt",type: "text",label: b.lang.image.alt,accessKey: "T","default": "",onChange: function() {
                                l(this.getDialog())
                            },setup: function(B, C) {
                                if (B == d) {
                                    this.setValue(C.getAttribute("alt"))
                                }
                            },commit: function(B, C) {
                                var D = this;
                                if (B == d) {
                                    if (D.getValue() || D.isChanged()) {
                                        C.setAttribute("alt", D.getValue())
                                    }
                                } else {
                                    if (B == f) {
                                        C.setAttribute("alt", D.getValue())
                                    } else {
                                        if (B == g) {
                                            C.removeAttribute("alt")
                                        }
                                    }
                                }
                            }}, {type: "hbox",children: [{id: "basic",type: "vbox",children: [{type: "hbox",widths: ["50%", "50%"],children: [{type: "vbox",padding: 1,children: [{type: "text",width: "40px",id: "txtWidth",label: b.lang.common.width,onKeyUp: k,onChange: function() {
                                                                o.call(this, "advanced:txtdlgGenStyle")
                                                            },validate: function() {
                                                                var B = this.getValue().match(i), C = !!(B && parseInt(B[1], 10) !== 0);
                                                                if (!C) {
                                                                    alert(b.lang.common.invalidWidth)
                                                                }
                                                                return C
                                                            },setup: r,commit: function(B, C, D) {
                                                                var E = this.getValue();
                                                                if (B == d) {
                                                                    if (E) {
                                                                        C.setStyle("width", CKEDITOR.tools.cssLength(E))
                                                                    } else {
                                                                        C.removeStyle("width")
                                                                    }
                                                                    !D && C.removeAttribute("width")
                                                                } else {
                                                                    if (B == f) {
                                                                        var F = E.match(h);
                                                                        if (!F) {
                                                                            var G = this.getDialog().originalElement;
                                                                            if (G.getCustomData("isReady") == "true") {
                                                                                C.setStyle("width", G.$.width + "px")
                                                                            }
                                                                        } else {
                                                                            C.setStyle("width", CKEDITOR.tools.cssLength(E))
                                                                        }
                                                                    } else {
                                                                        if (B == g) {
                                                                            C.removeAttribute("width");
                                                                            C.removeStyle("width")
                                                                        }
                                                                    }
                                                                }
                                                            }}, {type: "text",id: "txtHeight",width: "40px",label: b.lang.common.height,onKeyUp: k,onChange: function() {
                                                                o.call(this, "advanced:txtdlgGenStyle")
                                                            },validate: function() {
                                                                var B = this.getValue().match(i), C = !!(B && parseInt(B[1], 10) !== 0);
                                                                if (!C) {
                                                                    alert(b.lang.common.invalidHeight)
                                                                }
                                                                return C
                                                            },setup: r,commit: function(B, C, D) {
                                                                var E = this.getValue();
                                                                if (B == d) {
                                                                    if (E) {
                                                                        C.setStyle("height", CKEDITOR.tools.cssLength(E))
                                                                    } else {
                                                                        C.removeStyle("height")
                                                                    }
                                                                    !D && C.removeAttribute("height")
                                                                } else {
                                                                    if (B == f) {
                                                                        var F = E.match(h);
                                                                        if (!F) {
                                                                            var G = this.getDialog().originalElement;
                                                                            if (G.getCustomData("isReady") == "true") {
                                                                                C.setStyle("height", G.$.height + "px")
                                                                            }
                                                                        } else {
                                                                            C.setStyle("height", CKEDITOR.tools.cssLength(E))
                                                                        }
                                                                    } else {
                                                                        if (B == g) {
                                                                            C.removeAttribute("height");
                                                                            C.removeStyle("height")
                                                                        }
                                                                    }
                                                                }
                                                            }}]}, {id: "ratioLock",type: "html",style: "margin-top:30px;width:40px;height:40px;",onLoad: function() {
                                                        var B = CKEDITOR.document.getById(x), C = CKEDITOR.document.getById(w);
                                                        if (B) {
                                                            B.on("click", function(D) {
                                                                q(this);
                                                                D.data && D.data.preventDefault()
                                                            }, this.getDialog());
                                                            B.on("mouseover", function() {
                                                                this.addClass("cke_btn_over")
                                                            }, B);
                                                            B.on("mouseout", function() {
                                                                this.removeClass("cke_btn_over")
                                                            }, B)
                                                        }
                                                        if (C) {
                                                            C.on("click", function(D) {
                                                                var I = this;
                                                                var E = p(I), F = I.originalElement, G = I.getValueOf("info", "txtWidth");
                                                                if (F.getCustomData("isReady") == "true" && G) {
                                                                    var H = F.$.height / F.$.width * G;
                                                                    if (!isNaN(H)) {
                                                                        I.setValueOf("info", "txtHeight", Math.round(H));
                                                                        l(I)
                                                                    }
                                                                }
                                                                D.data && D.data.preventDefault()
                                                            }, this.getDialog());
                                                            C.on("mouseover", function() {
                                                                this.addClass("cke_btn_over")
                                                            }, C);
                                                            C.on("mouseout", function() {
                                                                this.removeClass("cke_btn_over")
                                                            }, C)
                                                        }
                                                    },html: '<div><a href="javascript:void(0)" tabindex="-1" title="' + b.lang.image.lockRatio + '" class="cke_btn_locked" id="' + w + '" role="checkbox"><span class="cke_icon"></span><span class="cke_label">' + b.lang.image.lockRatio + "</span></a>" + '<a href="javascript:void(0)" tabindex="-1" title="' + b.lang.image.resetSize + '" class="cke_btn_reset" id="' + x + '" role="button"><span class="cke_label">' + b.lang.image.resetSize + "</span></a>" + "</div>"}]}, {type: "vbox",padding: 1,children: [{type: "text",id: "txtBorder",width: "60px",label: b.lang.image.border,"default": "",onKeyUp: function() {
                                                        l(this.getDialog())
                                                    },onChange: function() {
                                                        o.call(this, "advanced:txtdlgGenStyle")
                                                    },validate: CKEDITOR.dialog.validate.integer(b.lang.image.validateBorder),setup: function(B, C) {
                                                        if (B == d) {
                                                            var D, E = C.getStyle("border-width");
                                                            E = E && E.match(/^(\d+px)(?: \1 \1 \1)?$/);
                                                            D = E && parseInt(E[1], 10);
                                                            isNaN(parseInt(D, 10)) && (D = C.getAttribute("border"));
                                                            this.setValue(D)
                                                        }
                                                    },commit: function(B, C, D) {
                                                        var E = parseInt(this.getValue(), 10);
                                                        if (B == d || B == f) {
                                                            if (!isNaN(E)) {
                                                                C.setStyle("border-width", CKEDITOR.tools.cssLength(E));
                                                                C.setStyle("border-style", "solid")
                                                            } else {
                                                                if (!E && this.isChanged()) {
                                                                    C.removeStyle("border-width");
                                                                    C.removeStyle("border-style");
                                                                    C.removeStyle("border-color")
                                                                }
                                                            }
                                                            if (!D && B == d) {
                                                                C.removeAttribute("border")
                                                            }
                                                        } else {
                                                            if (B == g) {
                                                                C.removeAttribute("border");
                                                                C.removeStyle("border-width");
                                                                C.removeStyle("border-style");
                                                                C.removeStyle("border-color")
                                                            }
                                                        }
                                                    }}, {type: "text",id: "txtHSpace",width: "60px",label: b.lang.image.hSpace,"default": "",onKeyUp: function() {
                                                        l(this.getDialog())
                                                    },onChange: function() {
                                                        o.call(this, "advanced:txtdlgGenStyle")
                                                    },validate: CKEDITOR.dialog.validate.integer(b.lang.image.validateHSpace),setup: function(B, C) {
                                                        if (B == d) {
                                                            var D, E, F, G = C.getStyle("margin-left"), H = C.getStyle("margin-right");
                                                            G = G && G.match(j);
                                                            H = H && H.match(j);
                                                            E = parseInt(G, 10);
                                                            F = parseInt(H, 10);
                                                            D = E == F && E;
                                                            isNaN(parseInt(D, 10)) && (D = C.getAttribute("hspace"));
                                                            this.setValue(D)
                                                        }
                                                    },commit: function(B, C, D) {
                                                        var E = parseInt(this.getValue(), 10);
                                                        if (B == d || B == f) {
                                                            if (!isNaN(E)) {
                                                                C.setStyle("margin-left", CKEDITOR.tools.cssLength(E));
                                                                C.setStyle("margin-right", CKEDITOR.tools.cssLength(E))
                                                            } else {
                                                                if (!E && this.isChanged()) {
                                                                    C.removeStyle("margin-left");
                                                                    C.removeStyle("margin-right")
                                                                }
                                                            }
                                                            if (!D && B == d) {
                                                                C.removeAttribute("hspace")
                                                            }
                                                        } else {
                                                            if (B == g) {
                                                                C.removeAttribute("hspace");
                                                                C.removeStyle("margin-left");
                                                                C.removeStyle("margin-right")
                                                            }
                                                        }
                                                    }}, {type: "text",id: "txtVSpace",width: "60px",label: b.lang.image.vSpace,"default": "",onKeyUp: function() {
                                                        l(this.getDialog())
                                                    },onChange: function() {
                                                        o.call(this, "advanced:txtdlgGenStyle")
                                                    },validate: CKEDITOR.dialog.validate.integer(b.lang.image.validateVSpace),setup: function(B, C) {
                                                        if (B == d) {
                                                            var D, E, F, G = C.getStyle("margin-top"), H = C.getStyle("margin-bottom");
                                                            G = G && G.match(j);
                                                            H = H && H.match(j);
                                                            E = parseInt(G, 10);
                                                            F = parseInt(H, 10);
                                                            D = E == F && E;
                                                            isNaN(parseInt(D, 10)) && (D = C.getAttribute("vspace"));
                                                            this.setValue(D)
                                                        }
                                                    },commit: function(B, C, D) {
                                                        var E = parseInt(this.getValue(), 10);
                                                        if (B == d || B == f) {
                                                            if (!isNaN(E)) {
                                                                C.setStyle("margin-top", CKEDITOR.tools.cssLength(E));
                                                                C.setStyle("margin-bottom", CKEDITOR.tools.cssLength(E))
                                                            } else {
                                                                if (!E && this.isChanged()) {
                                                                    C.removeStyle("margin-top");
                                                                    C.removeStyle("margin-bottom")
                                                                }
                                                            }
                                                            if (!D && B == d) {
                                                                C.removeAttribute("vspace")
                                                            }
                                                        } else {
                                                            if (B == g) {
                                                                C.removeAttribute("vspace");
                                                                C.removeStyle("margin-top");
                                                                C.removeStyle("margin-bottom")
                                                            }
                                                        }
                                                    }}, {id: "cmbAlign",type: "select",widths: ["35%", "65%"],style: "width:90px",label: b.lang.common.align,"default": "",items: [[b.lang.common.notSet, ""], [b.lang.common.alignLeft, "left"], [b.lang.common.alignRight, "right"]],onChange: function() {
                                                        l(this.getDialog());
                                                        o.call(this, "advanced:txtdlgGenStyle")
                                                    },setup: function(B, C) {
                                                        if (B == d) {
                                                            var D = C.getStyle("float");
                                                            switch (D) {
                                                                case "inherit":
                                                                case "none":
                                                                    D = ""
                                                            }
                                                            !D && (D = (C.getAttribute("align") || "").toLowerCase());
                                                            this.setValue(D)
                                                        }
                                                    },commit: function(B, C, D) {
                                                        var E = this.getValue();
                                                        if (B == d || B == f) {
                                                            if (E) {
                                                                C.setStyle("float", E)
                                                            } else {
                                                                C.removeStyle("float")
                                                            }
                                                            if (!D && B == d) {
                                                                E = (C.getAttribute("align") || "").toLowerCase();
                                                                switch (E) {
                                                                    case "left":
                                                                    case "right":
                                                                        C.removeAttribute("align")
                                                                }
                                                            }
                                                        } else {
                                                            if (B == g) {
                                                                C.removeStyle("float")
                                                            }
                                                        }
                                                    }}]}]}, {type: "vbox",height: "250px",children: [{type: "html",id: "htmlPreview",style: "width:95%;",html: "<div>" + CKEDITOR.tools.htmlEncode(b.lang.common.preview) + "<br>" + '<div id="' + y + '" class="ImagePreviewLoader" style="display:none"><div class="loading">&nbsp;</div></div>' + '<div class="ImagePreviewBox"><table><tr><td>' + '<a href="javascript:void(0)" target="_blank" onclick="return false;" id="' + z + '">' + '<img id="' + A + '" alt="" /></a>' + (b.config.image_previewText || "") + "</td></tr></table></div></div>"}]}]}]}, 
                {id: "Link",hidden: b.config.hide_Link,label: b.lang.link.title,padding: 0,elements: [{id: "txtUrl",type: "text",label: b.lang.common.url,style: "width: 100%","default": "",setup: function(B, C) {
                                if (B == e) {
                                    var D = C.data("cke-saved-href");
                                    if (!D) {
                                        D = C.getAttribute("href")
                                    }
                                    this.setValue(D)
                                }
                            },commit: function(B, C) {
                                var E = this;
                                if (B == e) {
                                    if (E.getValue() || E.isChanged()) {
                                        var D = decodeURI(E.getValue());
                                        C.data("cke-saved-href", D);
                                        C.setAttribute("href", D);
                                        if (E.getValue() || !b.config.image_removeLinkByEmptyURL) {
                                            E.getDialog().addLink = true
                                        }
                                    }
                                }
                            }}, {type: "button",id: "browse",filebrowser: {action: "Browse",target: "Link:txtUrl",url: b.config.filebrowserImageBrowseLinkUrl},style: "float:right",hidden: true,label: b.lang.common.browseServer}, {id: "cmbTarget",type: "select",label: b.lang.common.target,"default": "",items: [[b.lang.common.notSet, ""], [b.lang.common.targetNew, "_blank"], [b.lang.common.targetTop, "_top"], [b.lang.common.targetSelf, "_self"], [b.lang.common.targetParent, "_parent"]],setup: function(B, C) {
                                if (B == e) {
                                    this.setValue(C.getAttribute("target") || "")
                                }
                            },commit: function(B, C) {
                                if (B == e) {
                                    if (this.getValue() || this.isChanged()) {
                                        C.setAttribute("target", this.getValue())
                                    }
                                }
                            }}]}, 
                {id: "advanced",hidden: b.config.hide_advancedd,label: b.lang.common.advancedTab,elements: [{type: "hbox",widths: ["50%", "25%", "25%"],children: [{type: "text",id: "linkId",label: b.lang.common.id,setup: function(B, C) {
                                        if (B == d) {
                                            this.setValue(C.getAttribute("id"))
                                        }
                                    },commit: function(B, C) {
                                        if (B == d) {
                                            if (this.getValue() || this.isChanged()) {
                                                C.setAttribute("id", this.getValue())
                                            }
                                        }
                                    }}, {id: "cmbLangDir",type: "select",style: "width : 100px;",label: b.lang.common.langDir,"default": "",items: [[b.lang.common.notSet, ""], [b.lang.common.langDirLtr, "ltr"], [b.lang.common.langDirRtl, "rtl"]],setup: function(B, C) {
                                        if (B == d) {
                                            this.setValue(C.getAttribute("dir"))
                                        }
                                    },commit: function(B, C) {
                                        if (B == d) {
                                            if (this.getValue() || this.isChanged()) {
                                                C.setAttribute("dir", this.getValue())
                                            }
                                        }
                                    }}, {type: "text",id: "txtLangCode",label: b.lang.common.langCode,"default": "",setup: function(B, C) {
                                        if (B == d) {
                                            this.setValue(C.getAttribute("lang"))
                                        }
                                    },commit: function(B, C) {
                                        if (B == d) {
                                            if (this.getValue() || this.isChanged()) {
                                                C.setAttribute("lang", this.getValue())
                                            }
                                        }
                                    }}]}, {type: "text",id: "txtGenLongDescr",label: b.lang.common.longDescr,setup: function(B, C) {
                                if (B == d) {
                                    this.setValue(C.getAttribute("longDesc"))
                                }
                            },commit: function(B, C) {
                                if (B == d) {
                                    if (this.getValue() || this.isChanged()) {
                                        C.setAttribute("longDesc", this.getValue())
                                    }
                                }
                            }}, {type: "hbox",widths: ["50%", "50%"],children: [{type: "text",id: "txtGenClass",label: b.lang.common.cssClass,"default": "",setup: function(B, C) {
                                        if (B == d) {
                                            this.setValue(C.getAttribute("class"))
                                        }
                                    },commit: function(B, C) {
                                        if (B == d) {
                                            if (this.getValue() || this.isChanged()) {
                                                C.setAttribute("class", this.getValue())
                                            }
                                        }
                                    }}, {type: "text",id: "txtGenTitle",label: b.lang.common.advisoryTitle,"default": "",onChange: function() {
                                        l(this.getDialog())
                                    },setup: function(B, C) {
                                        if (B == d) {
                                            this.setValue(C.getAttribute("title"))
                                        }
                                    },commit: function(B, C) {
                                        var D = this;
                                        if (B == d) {
                                            if (D.getValue() || D.isChanged()) {
                                                C.setAttribute("title", D.getValue())
                                            }
                                        } else {
                                            if (B == f) {
                                                C.setAttribute("title", D.getValue())
                                            } else {
                                                if (B == g) {
                                                    C.removeAttribute("title")
                                                }
                                            }
                                        }
                                    }}]}, {type: "text",id: "txtdlgGenStyle",label: b.lang.common.cssStyle,validate: CKEDITOR.dialog.validate.inlineStyle(b.lang.common.invalidInlineStyle),"default": "",setup: function(B, C) {
                                if (B == d) {
                                    var D = C.getAttribute("style");
                                    if (!D && C.$.style.cssText) {
                                        D = C.$.style.cssText
                                    }
                                    this.setValue(D);
                                    var E = C.$.style.height, F = C.$.style.width, G = (E ? E : "").match(h), H = (F ? F : "").match(h);
                                    this.attributesInStyle = {height: !!G,width: !!H}
                                }
                            },onChange: function() {
                                o.call(this, ["info:cmbFloat", "info:cmbAlign", "info:txtVSpace", "info:txtHSpace", "info:txtBorder", "info:txtWidth", "info:txtHeight"]);
                                l(this)
                            },commit: function(B, C) {
                                if (B == d && (this.getValue() || this.isChanged())) {
                                    C.setAttribute("style", this.getValue())
                                }
                            }}]}]}
    };
    CKEDITOR.dialog.add("image", function(b) {
        //显示还是隐藏
        b.config.hide_Upload = true; //上传
        b.config.hide_info = true; //图像信息
        b.config.hide_Link = true; //超链接
        b.config.hide_advancedd = true; //高级
        //预览文字
        b.config.image_previewText = "预览";
        return a(b, "image")
    });
    CKEDITOR.dialog.add("imagebutton", function(b) {
        return a(b, "imagebutton")
    })
})();
